<%@LANGUAGE="JAVASCRIPT" CODEPAGE="932"%> stardy

HDDのトラブル解決法

HDDのトラブル解消の為のTips

1)BIOSで認識されない
2)Fdiskで認識されない
3)OSがsetupできない
4)OSで認識されない
5)ジャンパーの設定の誤り
6)チップセットのバグ;

HDDのトラブル原因は非常に多いのですが、詰まる所、以下のようなインターフェイスの問題のようです。

BIOSとのインターフェイス

原因は以下;
 ・BIOSの対応している容量より大容量のHDDを付けた
   この場合の解決法は、下記3つのうちのどれか。
     BIOS書き換え
     DiskManager導入
     PCIバスIDEインタフェースカードを用いる

 ・BIOSでのアクセス方式設定の誤り

解決法

BIOSの書き換え
これは、取り付けようとしているHDDの容量をサポートしているかどうかチェックしてから行います。BIOSアップデートには種々の理由があり、必ずしもHDDの為にアップデートされているわけではないからです。BIOSの書き換えは極めて危険な仕事で、OSのSETUPと違い、失敗したら再SETUPというような事はできません。そのPC(正確にはマザーボード)は廃棄です。何しろ電源ONで最初に唯の箱であるPCを動かすソフトなのです。それが壊れたら動かす人は他に居ないわけです。OSはBIOSに起動してもらっているから何度でもSETUPできるのです。従って、意味の無いBIOS書き換えはしないほうが賢明です。なお、BIOS書き換えの方法は他のHPを探してください(その内、ここにも書くかも)。

 「ROM焼き大丈夫」のような機器はありますが、ROMの形状、容量など自分にあった
 ものを探すのは面倒で、そんな事のできる人はこのHPを読む必要の無い人です。

DISK MANAGERを使う
HDD各メーカはBIOSをバイパスしてBIOSに代わって大容量HDDにアクセスするソフトをHDDに添付したり、HPからダウンロードできるようにしたりして配布しています。IBM、QuantumはDiskMANAGER(DOS版)、DiskGo!(Windows版)、MaxtorはMaxBlast、seagateはDiscwizのような名前をしています。Windows版はGUIですから使い方に制限が有り、汎用のものはDOS版です。これらを導入すれば、古い2GBのHDDにしか対応していないようなBIOSでも大容量HDDが使えるようになります。BIOS書き換えと異なりPCを廃棄する危険は一切ありません。間違えたら何度でも再試行できます。但し、旧HDDもそのまま使おうとした場合、その中のデータは壊れる場合があるので、まず、データを対退避して行うのが良いでしょう。詳しくは、こことここの両方を読んで手続きを頭に入れ、何が行われるのか理解しておいたほうがトラブルに会わずに済みます。

PCIバス用IDEインタフェースカード(UltraTrack/66?)を使う
そのままです。秋葉原や日本橋や大須にいけばあるでしょう。4000円もしなくなっています(2000年)。

BIOSでのアクセス法設定の誤り
CHSの設定はauto、modeはLBAにします。BIOSが正常ならこれで正常動作します。(EIDEならそんなものは無いと思いますが)そもそもLBAモードが無い場合、DiskManagerを使う以外、手はないでしょう。

尚、これでだめな場合--こういうことも良くあります--要するにBIOSがなんらかの容量以外の理由で対応できないのでデタラメをやっている可能性です。なぜか、再起動を繰り返すうちにできる場合もあります。

HDDはE-IDE以後、504MBの壁を越える為に姑息な解決をくり返したため、アクセス法が繁雑になり、これが原因となってHDDの認識が出来なくなったり、認識はできてもアクセスできなくなったりします。504MBを越えるHDDを使う場合、と言う事は今では全ての場合、BIOSでのモード設定はAUTOかLBAにします。C/H/S、NORMAL、LARGRは使わない方が良いでしょう。AUTOにしておけば問題ないのですが、BIOS自体の認識アルゴリズムも結構脆弱で、すぐに気が狂ったようになり、AUTOでBIOSに任せたのは良いがデタラメをやっているという場合もあります。こんな時は、LBAにします。

C/H/Sは、Cylinder、Head、SectorでHDDは最終的にこの物理値(HDDはこのような物理的構造をしている)でアドレッシングしますが、小容量の時代の後遺症で未だにBIOS内部では大きくなったCHS値をまともに扱えないらしく、LogicalBlockAddressingという論理的なアドレッシングを行います。これはシリンダもヘッドも忘れて、ただ、セクタだけが連番で並んでいるような仮想的=論理的アドレス方式です。

少し考えれば分かるのですが、2000年現在、20GB/プラッタ(円盤)時代の為、20GBのHDDにはプラッタが1枚しか入っていません。ということは、Headは円盤の表面、裏面に1個づつ、計2個です。255個のHeadなど、考えなくてもまともな話しではないとわかります。3.5インチHDDのあの厚みの中に128枚のプラッタを入れるのは、生半な技術ではありませんから(入ってないのです)。更に、片面10GBという高密度の円盤なのに、1トラック当たりのセクタが63という超低密度なのも変な話しです。1トラックあたり、たった、31.5KBしかないことになります。これでは、10GBにする為にはシリンダ数が、約300000なければなりません。同じ材料で円周方向は極端な低密度、半径方向は極端な高密度という事は異常でしょう。わざわざそんな変な材料を開発する訳がありません。ということは、HDDのCHSとしてメーカが公表している値はあれは本当の物理的値ではなく、すでに仮想的な値なのです。

HDDのコントローラは自分の本当のCHSではなく、一度変換したこの論理CHSをBIOSに返します。HDD内部にはこのCHSを真性CHSに変換する仕掛けがあるので別に困るわけではないのです。問題はOSとBIOSの間ですが、Windows95以降はBIOSを使わず、LBAでHDDにアクセスします。HDDコントローラはLBAを真性のCHSに変換して最終的にメディアにアクセスするのでしょう。

この論理CHSを用いますと、10bit=1024を越える真性のCHSをもつHDDでも仮想的に1024にしてしまい、その減った分のbitをHeadに回して、全体としての容量は変わらなくします。これでBIOSの最大値である8.4GBまではアクセスできます。Largeと呼ばれるモードです。BIOSの制約で1024のシリンダまでしかサポートしていない場合、これは非常に有効なわけです。OSの制約で、1024を超えたシリンダにあるPBRにアクセスできない場合も同様です。


Master/Slaveのジャンパ設定の誤り

1台しかないHDDをslaveにするなど、Masterが無い状態に設定しますと、そのチャネルにはコントローラが無いという状態になり、BIOSはHDDが存在しないと判定します。Slaveのコントローラは無視されるためです。
中には、Slaveを付けない場合は、Masterではなく、Singleという設定にしないと、認識されないHDDもありました。


IDEコントローラのバグ(仕様?)

手持ちPCではFMV4100がそうでした。このPC、Primaryだけが使われ、MasterにHDDが、SlaveにCD-ROMが付いていました。これは通常忌避される設定で、HDDはHDDだけ、CD-ROMはCD-ROMだけを一つのチャネルに用います。論理的には同じIDE機器でも、実装上はトラブルの可能性があるからです。HDDを増設する為にSecondaryにCD-ROMを移した所、認識されません。どのような組み合せにしてもダメでした。その後、WebでFMVのIDEコントローラはCMDのチップを使っていて、これにはバグがありsecondaryが使えないという事をしりましたが、こんな事もあるのです。メーカ製のPCは拡張されることを前提にした物と、していない物があり、後者の場合、それで完成品ですからこの不具合は欠陥では無いという解釈なのでしょう。

以下は引用です;典拠不明

16ビットと32ビット用ドライバーの混在が原因ということですがその当時のFMVと言うか
CMDの「仕様」(^_-) らしいですね。
CMDのPCI0646がホントに乗っているかどうか確かめてから(064Xの場合もありえる)
次のうちのどれかで解決するかも知れません。はずれているかも。
1.デバイスマネージャーでIDEコントローラーが使用不可になっていたら
regeditから
 HKEY_LOCAL_MACHINE¥SYSTEM\CURRENTCONTROLSET \SERVICES\VXD\IOS
と開き、NoIDEの値を見つける。 それがあったら削除。
2.CMDのPCI-IDE Controller PCI-646チップのドライバーを当てる。
CMDのサイトにはもうドライバーはないとか?このNGの下の方で言ってるけど
3.OSをwindows98にする。
OSを変える気がなければこちらからドライバーを抽出するとか

Drivers;
http://www.ecs.com.tw/ecs/support/driver/drivero.html#cmd
http://www.drivershq.com/newlist/ide/indexidec.html

余談ですが、かっての(最近はしりません)Aptivaや、黒のBrezzaは、イーサネットカード(NIC)は使えないとパンフレットに書いて有りました。PC/AT互換ならば、わざわざNICを使えないように設計するほうが面倒なことで、どうしてNICだけが使えないのか疑問でした。実際、付けてみると問題なく動きます。ただし、副作用があり、AptivaではAPM的にSLEEPする機能があるのですが、SLEEPしません。SLEEPさせても、0.5秒で起きてしまいます。Brezzaも同じ機能があるのですが、こちらはSLEEPします。しかし、NICは使えないと言っている以上、どこかに完成品からのズレが出るのかもしれません。

さて以上が対処法です。以下になぜこんな事が起きるのか多少の事情を記します。

BIOSは1984年のPC/ATとIDEインターフェイスの組み合せでは、HDDのアドレッシングに20bitしか使えませんでした。HDDはセクタ単位でアクセスするので、2の20乗=1M個のセクタまでしかアドレスが付きません。つまりアクセスできません。1セクタはPC/ATでは、512バイトですから、理論上、512MBのHDDしかBIOSは認識できないわけです。20bitは、シリンダ、ヘッド、セクタに分解、割り当てられます。セクタには6bit=64が割り当てられていますが、実際にはトラック毎に管理用に1セクタ取られますので、63セクタしか使えません。それで512MBではなく、504MBといわれ、これがBIOS/IDEの壁といわれました。その後、Enhanced-IDE(E-IDE)規格が出て、この壁が破られるのですが、BIOSのHDDアドレッシングビットをケチケチと増やした結果、BIOS特有の壁があちこちにできています。2GB、4GB、8GB、33GBなどです。

この壁は、たまたまOSのパーテションサイズの壁と一致するものもあるのですが、OSの壁では、HDDが認識されないというような重い症状は出ず、大きなHDDの一部しか使えないという軽い症状しか現れません。OS以前、OSをsetupする以前にPCの電源スイッチを入れたところで、BIOSがエラーを出した場合、それはBIOSの問題なのです。このエラーの出し方は、BIOSにより異なります。エラーメッセージを出すのではなく、ただ、HDDが表示されない、などです。

PC-750/6883では、最新の96年版BIOS(ここでアップデートサポートは終了しています)に書き換えても、4GBまでしか認識しませんでした。AbitBH6 Rev.1.0ではオリジナルは33GB(あるいは、それ以下?)の壁がありましたが、99/11以降のBIOSに書き換えると、これを突破でき、60GBを認識しました。恐らく、(BIOSではなく)E-IDEの側の限界である136GBまで認識できるでしょう。E-IDEの限界は、136GBですが、BIOSが一気にこれに対応せず、チマチマとUPして対応した結果が、上の壁なのです。

BIOSで認識されない原因は、BIOSが対応していない新しいインターフェイスのHDDであるということなのです。IDE規格とは言っても、この規格による容量の上限は当時としては、途方も無く大きな値--例えば現在100TBのHDDを考えるような--であったため、BIOSメーカが対応しなかったのでしょう。

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル